home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Misc / FLM / FLM_cat / list2flm.c < prev    next >
C/C++ Source or Header  |  2000-01-01  |  1KB  |  63 lines

  1. /*
  2.     list2flm (c) 1996-97 Denis Unger
  3. */
  4.  
  5. #include <stdio.h>
  6. #include <string.h>
  7.  
  8. #define BUFFERSIZE 50000
  9.  
  10. void main(int argc,char *argv[]) {
  11.  
  12.  const char Version[] = "$VER: list2flm 0.20 (" __DATE2__ ")";
  13.  
  14.  FILE *quell,*ziel;
  15.  char *buffer;
  16.  int read,i,merk;
  17.  unsigned char ch;
  18.  
  19.  printf("list2flm (c) 1996 Denis Unger\n\n");
  20.  
  21.  if(argc!=3) {
  22.     printf("Syntax: list2flm <source> <destination>\n");
  23.     return;
  24.  }
  25.  
  26.  buffer = new unsigned char[BUFFERSIZE];
  27.  
  28.  if(!buffer) return;
  29.  
  30.  quell = fopen(argv[1], "r");
  31.  ziel = fopen(argv[2], "w");
  32.  
  33.  if(!quell || !ziel) {
  34.     printf("Couldn't open source or destination file\n");
  35.     if(quell) fclose(quell);
  36.     if(ziel) fclose(ziel);
  37.     return;
  38.  }
  39.  
  40.  read = BUFFERSIZE; merk=0;
  41.  while(read == BUFFERSIZE) {
  42.     read=fread(buffer,1,BUFFERSIZE,quell);
  43.  
  44.     for(i=0;i<read;i++) {
  45.         ch=buffer[i];
  46.         if(ch=='/') buffer[i]='\\';
  47.         if(ch==':') {
  48.             if(merk==0) merk=1;
  49.             else    if(merk==1) {
  50.                 buffer[i]='\\'; merk=0;
  51.             }
  52.         }
  53.     }
  54.  
  55.     fwrite(buffer,1,read,ziel);
  56.  }
  57.  
  58.  fclose(quell);
  59.  fclose(ziel);
  60.  
  61.  delete buffer;
  62. }
  63.